/**
 * 
 */
package ae.pcfc.cldos.online.wf.service.client;

import ae.pcfc.cldos.online.wf.service.client.vo.base.BaseAppDataVO;
import ae.pcfc.cldos.online.wf.service.client.vo.base.BaseGVariablesVO;
import ae.pcfc.cldos.online.wf.service.client.vo.base.BaseSubmitGVariablesVO;
import ae.pcfc.cldos.online.wf.service.client.vo.base.CompleteStepVO;
import ae.pcfc.cldos.online.wf.service.client.vo.base.LaunchIncedentVO;


/**
 * @author Abed
 *
 */
public interface GenericVisaWF {
	
	public <T1 extends BaseSubmitGVariablesVO, T2 extends BaseAppDataVO> 
	Integer launchIncident(String processCode, LaunchIncedentVO wfBaseVo, T1 gVars, T2 appData);
	
	public  <T1 extends BaseGVariablesVO, T2 extends BaseAppDataVO>  void 
	completeStep(String processCode, CompleteStepVO completeStepVO, T1 gVars, T2 appData);
	
	public  <T1 extends BaseGVariablesVO>  void 
	completeStep(String processCode, CompleteStepVO completeStepVO, T1 gVars);
	
}
